<?php if (!defined("_ECRIRE_INC_VERSION")) return; if (class_exists('PdkArticleModel')) return;
/**
 * SPIP Plugin Development Kit
 *
 * @author     Aleksey Yaroshchuk (aleksey.yaroshchuk@gmail.com)
 * @license    GNU/GPL
 * @package    plugins
 * @subpackage pdk
 * @category   outils
 * @copyright  (c) Aleksey Yaroshchuk 2011-2012
 * @link       http://www.spip-contrib.net/Developmet-Kit
 * @version    1.0.0
 */

include_spip('classes/pdk_model');
/** 
 *  This is PDK SPIP Article model
 *
 *  @author Aleksey Yaroshchuk (aleksey.yaroshchuk@gmail.com)
 */
class PdkArticleModel extends pdk_Model {
    /**
     * PdkRubriqueModel
     */
    private $rubrique_mdl;
    
    public function __construct() {
        parent::__construct();
        $this->config_model();
        include_spip('classes/pdk_common');
        $this->rubrique_mdl = pdk_load_class('PdkRubriqueModel', 'classes/models');    
    }
    
    function config_model() {
        // Define main table:
        $this->main_table = 'spip_articles';
        
        // Define primary key:
        $this->primary_key = 'id_article';
        
        // Define main table fields:
        $this->main_fields['id_article'] = 'id_article';
        $this->main_fields['titre'] = 'titre';  
        $this->main_fields['id_rubrique'] = 'id_rubrique';
        $this->main_fields['id_secteur'] = 'id_secteur';
        $this->main_fields['statut'] = 'statut';
        $this->main_fields['lang'] = 'lang';
        $this->main_fields['descriptif'] = 'descriptif';
        $this->main_fields['texte'] = 'texte';
        $this->main_fields['surtitre'] = 'surtitre';
        $this->main_fields['soustitre'] = 'soustitre';
        $this->main_fields['chapo'] = 'chapo';
        $this->main_fields['ps'] = 'ps';
        $this->main_fields['nom_site'] = 'nom_site';
        $this->main_fields['url_site'] = 'url_site';
        $this->main_fields['date'] = 'date';
                                               
         // Define validation rules:
         $this->validation->set_rules( 
            array(
               array(
                     'field'   => 'id_rubrique',
                     'label'   => 'ID rubrique',
                     'rules'   => ''
                  )
            )
         );                                     
    }
    
    /**
     *  Override parent function
     */
    function insert($data, $clear_id = false) {
        // If there is no id_secteur, but we have id_rubrique, we will get id_secteur automatically
        if (!$data['id_secteur'] && $data['id_rubrique']) {
            $rubrique = $this->rubrique_mdl->select_by_id($data['id_rubrique']);
            $data['id_secteur'] = $rubrique['id_secteur'];
        }
        
        return parent::insert($data, $clear_id);
    }
    
    // Define test data for model
    public $test_data = array(
        array('id_article'=>1,'titre'=>'Test article 1','id_rubrique'=>'1','statut'=>'publie','id_secteur'=>1,
            'lang'=>'ru', 'descriptif'=>'Description1', 'texte'=>'Text1', 'surtitre'=>'Surtitre1',
            'soustitre'=>'Soustitre1','chapo'=>'Chapo1','ps'=>'Ps1','nom_site'=>'Nom_site1', 'url_site'=>'Url_site1','date'=>'0000-00-00 00:00:00'),
        array('id_article'=>2,'titre'=>'Test article 2','id_rubrique'=>'2','statut'=>'publie','id_secteur'=>1,
            'lang'=>'ru', 'descriptif'=>'Description2', 'texte'=>'Text2', 'surtitre'=>'Surtitre2',
            'soustitre'=>'Soustitre2','chapo'=>'Chapo2','ps'=>'Ps2','nom_site'=>'Nom_site2', 'url_site'=>'Url_site2','date'=>'0000-00-00 00:00:00'),
        array('id_article'=>3,'titre'=>'Test article 3','id_rubrique'=>'3','statut'=>'prepa','id_secteur'=>1,
            'lang'=>'en', 'descriptif'=>'Description3', 'texte'=>'Text3', 'surtitre'=>'Surtitre3',
            'soustitre'=>'Soustitre3','chapo'=>'Chapo3','ps'=>'Ps3','nom_site'=>'Nom_site3', 'url_site'=>'Url_site3','date'=>'0000-00-00 00:00:00'),
        array('id_article'=>4,'titre'=>'Test article 4','id_rubrique'=>'4','statut'=>'prepa','id_secteur'=>4,
            'lang'=>'en', 'descriptif'=>'Description4', 'texte'=>'Text4', 'surtitre'=>'Surtitre4',
            'soustitre'=>'Soustitre4','chapo'=>'Chapo4','ps'=>'Ps4','nom_site'=>'Nom_site4', 'url_site'=>'Url_site4','date'=>'0000-00-00 00:00:00')
    );
}
?>